    PRAGMA foreign_keys = OFF;

    -- Schema: mydb
    BEGIN;

    DROP TABLE IF EXISTS android_metadata;
    DROP TABLE IF EXISTS Knihy_Autori;
    DROP TABLE IF EXISTS Knihy;
    DROP TABLE IF EXISTS Autori;
    DROP TABLE IF EXISTS Vydavatelstvi;
    DROP TABLE IF EXISTS Zeme;
    DROP TABLE IF EXISTS Jazyky;
    DROP TABLE IF EXISTS Vypujcky;
    DROP TABLE IF EXISTS Vypujcitele;

    CREATE TABLE IF NOT EXISTS "Autori"( 
      "Id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL CHECK("Id">=0), 
      "Jmeno" VARCHAR(255) 
    );
    CREATE TABLE IF NOT EXISTS "Vydavatelstvi"( 
      "Id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL CHECK("Id">=0), 
      "Nazev" VARCHAR(255) 
    );
    CREATE TABLE IF NOT EXISTS "Zeme"( 
      "Id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL CHECK("Id">=0), 
      "Nazev" VARCHAR(30) 
    );
    CREATE TABLE IF NOT EXISTS "Jazyky"( 
      "Id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL CHECK("Id">=0), 
      "Nazev" VARCHAR(40) 
    );
    CREATE TABLE IF NOT EXISTS "Vypujcitele"( 
      "Id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL CHECK("Id">=0), 
      "Jmeno" VARCHAR(255), 
      "Prijmeni" VARCHAR(255) 
    );
    CREATE TABLE IF NOT EXISTS "Knihy"( 
      "Id" INTEGER PRIMARY KEY NOT NULL CHECK("Id">=0), 
      "IdVydavatelstvi" INTEGER CHECK("IdVydavatelstvi">=0), 
      "IdZeme" INTEGER CHECK("IdZeme">=0), 
      "IdJazyka" INTEGER CHECK("IdJazyka">=0), 
      "Titul" VARCHAR(4000), 
      "Podtitul" VARCHAR(4000), 
      "ISBN" VARCHAR(30), 
      "DDC" VARCHAR(40), 
      "DatumVydani" DATE, 
      "DatumVydaniText" VARCHAR(255), 
      "PocetStran" INTEGER CHECK("PocetStran">=0), 
      "Hodnoceni" VARCHAR(255), 
      "Cena" NUMERIC, 
      "Obalka" BLOB, 
      "Anotace" VARCHAR(4000),
      "Vlastnim" BIT, 
      "DatumPrecteni" DATE, 
      "MojePoznamka" VARCHAR(255), 
      "MojeHodnoceni" INTEGER CHECK("MojeHodnoceni">=0), 
      CONSTRAINT "fk_Knihy_Vydavatelstvi1" 
        FOREIGN KEY("IdVydavatelstvi") 
        REFERENCES "Vydavatelstvi"("Id"), 
      CONSTRAINT "fk_Knihy_Zeme1" 
        FOREIGN KEY("IdZeme") 
        REFERENCES "Zeme"("Id"), 
      CONSTRAINT "fk_Knihy_Jazyky1" 
        FOREIGN KEY("IdJazyka") 
        REFERENCES "Jazyky"("Id") 
    );
    CREATE INDEX IF NOT EXISTS "Knihy.fk_Knihy_Vydavatelstvi1_idx" ON "Knihy"("IdVydavatelstvi");
    CREATE INDEX IF NOT EXISTS "Knihy.fk_Knihy_Zeme1_idx" ON "Knihy"("IdZeme");
    CREATE INDEX IF NOT EXISTS "Knihy.fk_Knihy_Jazyky1_idx" ON "Knihy"("IdJazyka");
    CREATE TABLE IF NOT EXISTS "Vypujcky"( 
      "Id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL CHECK("Id">=0), 
      "IdKnihy" INTEGER NOT NULL CHECK("IdKnihy">=0), 
      "IdVypujcitele" INTEGER NOT NULL CHECK("IdVypujcitele">=0), 
      "DatumPujceni" DATE, 
      "DatumVraceni" DATE, 
      CONSTRAINT "fk_Zapujcky_Knihy1" 
        FOREIGN KEY("IdKnihy") 
        REFERENCES "Knihy"("Id"), 
      CONSTRAINT "fk_Zapujcky_Vypujcitele1" 
        FOREIGN KEY("IdVypujcitele") 
        REFERENCES "Vypujcitele"("Id") 
    );
    CREATE INDEX IF NOT EXISTS "Vypujcky.fk_Zapujcky_Knihy1_idx" ON "Vypujcky"("IdKnihy");
    CREATE INDEX IF NOT EXISTS "Vypujcky.fk_Zapujcky_Vypujcitele1_idx" ON "Vypujcky"("IdVypujcitele");
    CREATE TABLE IF NOT EXISTS "Knihy_Autori"( 
      "Id" INTEGER PRIMARY KEY NOT NULL, 
      "IdKnihy" INTEGER NOT NULL CHECK("IdKnihy">=0), 
      "IdAutora" INTEGER NOT NULL CHECK("IdAutora">=0), 
      CONSTRAINT "fk_Knihy_Autori_Knihy1" 
        FOREIGN KEY("IdKnihy") 
        REFERENCES "Knihy"("Id"), 
      CONSTRAINT "fk_Knihy_Autori_Autori1" 
        FOREIGN KEY("IdAutora") 
        REFERENCES "Autori"("Id") 
    );
    CREATE INDEX IF NOT EXISTS "Knihy_Autori.fk_Knihy_Autori_Knihy1_idx" ON "Knihy_Autori"("IdKnihy");
    CREATE INDEX IF NOT EXISTS "Knihy_Autori.fk_Knihy_Autori_Autori1_idx" ON "Knihy_Autori"("IdAutora");

    COMMIT;
